Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the section on Quoted Triples to Triple Terms. #96

Merged
merged 7 commits into from
Aug 1, 2024

Conversation

gkellogg
Copy link
Member

@gkellogg gkellogg commented Jul 15, 2024

  • Updates the diagrams to use a reifier.
  • These represent changes based on the minimal baseline

Fixes #81.


Preview | Diff

@gkellogg gkellogg added the spec:substantive Issue or proposed change in the spec that changes its normative content label Jul 15, 2024
@gkellogg gkellogg requested review from afs, pchampin and hartig July 15, 2024 18:56
@domel
Copy link
Contributor

domel commented Jul 15, 2024

Just a little comment on the SVG images. I see that everything is converted to paths. It seems a bit redundant. All the elements are simple primitives. The text, which is a path, also seems a bit exotic.

@gkellogg
Copy link
Member Author

Just a little comment on the SVG images. I see that everything is converted to paths. It seems a bit redundant. All the elements are simple primitives. The text, which is a path, also seems a bit exotic.

This is simply the result of exporting the Google Doc image as SVG. Hand-coding the SVG might avoid this, but that's beyond my skill set. In any case, the Google Doc image is easy to edit, if necessary, and re-export the SVG.

@niklasl
Copy link
Contributor

niklasl commented Jul 15, 2024

I simplified the old ones a while ago (just put them in a gist). I can make such versions of these new ones if you want to?

In any case I'd like to tweak them so that the arrow in the new ones go to the reified edge (in the current transparent version it looks like the reifier just links to the subject).

@gkellogg
Copy link
Member Author

I simplified the old ones a while ago (just put them in a gist). I can make such versions of these new ones if you want to?

In any case I'd like to tweak them so that the arrow in the new ones go to the reified edge (in the current transparent version it looks like the reifier just links to the subject).

I show that _:reif01 is the subject for both the triple term and :bob, which essentially represents what the previous version with "Quoted Triples" does.

The examples in your gist don't use a reifier, which I thought was important for these examples. But, perhaps an example that represents something like the syntactic sugar << _:reif01 | <alice> :name "Alice" >> :accordingTo :bob might illustrate the intended usage better. Perhaps, but adding _:reif01 as a label to the grey box.

@niklasl
Copy link
Contributor

niklasl commented Jul 15, 2024

Yes, my gist example is from last year, they do not reflect what we need. I just put them there to show an example of the primitive shapes asked for (see the sources).

@gkellogg
Copy link
Member Author

I'd be happy to use simplified versions of the diagrams. Looking at the source for each, they would seem easy enough to maintain by hand. Feel free to push a commit with newer versions of these diagrams, although we should probably continue to reference (in the comment) the Google Doc version as an alternative representation.

@niklasl
Copy link
Contributor

niklasl commented Jul 15, 2024

I don't seem to have permission to push to this repo. Meanwhile I put proposed new versions in another gist. Feel free to grab those copies if the permissions are hard to sort out.

(I put the reifier in the box, akin to what you suggested, but showing as a real node (to clearly show that it is). I also kept the rdf:reifies relation label, moved to the border of the box, since the box "encircles" the relationship which is reified. Remove the rdf:reifies if we want the implicit version it.)

spec/index.html Outdated Show resolved Hide resolved
@gkellogg
Copy link
Member Author

I don't seem to have permission to push to this repo. Meanwhile I put proposed new versions in another gist. Feel free to grab those copies if the permissions are hard to sort out.

Thanks, those are great. I'll push them up. Probably still needs a paragraph or two on the rationale for using reifiers.

@gkellogg gkellogg marked this pull request as ready for review July 18, 2024 16:56
<p>A <a>triple term</a> can be used as the object of a <a>triple</a> with the predicate <code>rdf:reifies</code>.
The <a>subject</a> of that <a>triple</a> is called a <dfn>reifier</dfn>.
Assertions on the <a>triple term</a> are made using the <a>reifier</a>.</p>

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be the place to define a term such as "reified triple term" to describe the syntactic structure that optionally includes a "reifier" and a "triple term".

Copy link
Contributor

@hartig hartig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are a few edit suggestions.

spec/index.html Outdated Show resolved Hide resolved
spec/index.html Outdated Show resolved Hide resolved
spec/index.html Outdated Show resolved Hide resolved
spec/index.html Outdated Show resolved Hide resolved
spec/index.html Outdated Show resolved Hide resolved
spec/index.html Show resolved Hide resolved
<img src="quoted-triple.svg"
alt="An RDF graph containing a triple that references an unasserted quoted triple (with grey background) as the subject"
<p>A <a>triple term</a> can be used as the object of a <a>triple</a> with the predicate <code>rdf:reifies</code>.
The <a>subject</a> of that <a>triple</a> is called a <dfn>reifier</dfn>.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this section is non-normative, I wonder whether it makes sense to put a definition here (<dfn>reifier</dfn>) ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a reifier is really just a concept, and not a component of the abstract syntax itself, it seems to me that a non-normative definition is fine. I think we also need a concept for "reified triple term", or whatever we come up with. In Turtle, both "reifier" and "reified triple term" will be normatively defined as part of the grammar, and it may be elsewhere, so having the source definition in RDF Concepts makes sense.

But, I'm open to suggestions to handle this better.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

@gkellogg gkellogg merged commit 6b7ea76 into main Aug 1, 2024
2 checks passed
@gkellogg gkellogg deleted the minimal-baseline branch August 1, 2024 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec:substantive Issue or proposed change in the spec that changes its normative content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Change section that (currently) introduces 'quoted triples'
4 participants